package model;

public class Conta {

	private String nome;
	private String codConta;
	private Integer valorInteiro;
	private Integer valorDecimal;
	private Integer chequeInteiro;
	private Integer chequeDecimal;
	
	public Conta(String nome, String codConta, Integer valorInteiro, Integer valorDecimal, Integer chequeInteiro, Integer chequeDecimal) {
		this.nome = nome;
		this.codConta = codConta;
		this.valorInteiro = valorInteiro;
		this.valorDecimal = valorDecimal;
		this.chequeInteiro = chequeInteiro;
		this.chequeDecimal = chequeDecimal;
	}

	public String getNome() {
		return nome;
	}

	public String getCodConta() {
		return codConta;
	}

	public Integer getValorInteiro() {
		return valorInteiro;
	}

	public Integer getValorDecimal() {
		return valorDecimal;
	}

	public Integer getChequeInteiro() {
		return chequeInteiro;
	}

	public Integer getChequeDecimal() {
		return chequeDecimal;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public void setCodConta(String codConta) {
		this.codConta = codConta;
	}

	public void setValorInteiro(Integer valorInteiro) {
		this.valorInteiro = valorInteiro;
	}

	public void setValorDecimal(Integer valorDecimal) {
		this.valorDecimal = valorDecimal;
	}

	public void setChequeInteiro(Integer chequeInteiro) {
		this.chequeInteiro = chequeInteiro;
	}

	public void setChequeDecimal(Integer chequeDecimal) {
		this.chequeDecimal = chequeDecimal;
	}
	
	public void subtrai(Integer inteiro, Integer decimal) {		
		if(valorInteiro > inteiro || (valorInteiro == inteiro && valorDecimal >= decimal)) {
			valorInteiro -= inteiro;
			valorDecimal -= decimal;
			
			if(valorDecimal < 0) {
				valorDecimal += 100;
				valorInteiro--;
			}
		} else {
			chequeDecimal -= decimal - valorDecimal;
			
			if(chequeDecimal < 0) {
				chequeDecimal += 100;
				chequeInteiro--;
			}
			
			chequeInteiro -= inteiro - valorInteiro;
			
			valorInteiro = 0;
			valorDecimal = 0;
		}
	}
	
	public void soma(Integer inteiro, Integer decimal) {
		valorDecimal += decimal;		
		valorInteiro += inteiro + (valorDecimal / 100);		
		valorDecimal %= 100;
	}
	
	public Integer[] getTotal() {
		Integer[] resposta = new Integer[2];
		
		resposta[1] = valorDecimal + chequeDecimal;
		resposta[0] = valorInteiro + chequeInteiro + (resposta[1] / 100);
		resposta[1] %= 100;
			
		return resposta;
	}
	
}
